Generally, phase-change materials are capable of being electrically programmed between a first structural state where the material is generally amorphous and a second structural state where the material is generally crystalline. The term “amorphous”, as used herein, refers to a structural condition which is relatively less ordered or more disordered than a single crystal. The term “crystalline”, as used herein, refers to a structural condition which is relatively more ordered than amorphous. The phase-change material exhibits different electrical characteristics depending upon its state. For instance, in its crystalline, more ordered state the material exhibits a lower electrical resistivity than in its amorphous, less ordered state. Each material phase can be conventionally associated with a corresponding logic value. For example, the lower resistance crystalline state may be associated with a logic “1” while the higher resistance amorphous state may be associated with a logic “0”.
Materials that may be used as a phase-change material include alloys of the elements from group VI of the Periodic Table. These group VI elements are referred to as the chalcogen elements and include the elements Te and Se. Alloys that include one or more of the chalcogen elements are referred to as chalcogenide alloys. An example of a chalcogenide alloy is the alloy Ge2Sb2Te5 (also referred to as GST225).
A volume of phase-change material can be reversibly programmed between a high resistance state referred to as a reset state and a low resistance state referred to as a set state to provide a binary mode of operation. A volume of phase-change material may also be programmed back and forth among three or more resistance states of intermediate resistance values to provide a multi-state mode of operation.
The phase-change materials may change states through application of an electrical signal. The electrical signal may be a voltage across or a current through the phase change material. The electrical signal may be in the form of one or more electrical pulses. For example, the volume of material may be programmed from its high resistance reset state to its low resistance set state through application of an electrical pulse (e.g. a current pulse) referred to as a set pulse. While not wishing to be bound by theory, it is believed that the set pulse is sufficient to change at least a portion of the volume of memory material from a less-ordered amorphous state to a more-ordered crystalline state. The volume of material may be programmed back from the low resistance set state to the high resistance reset state by application of an electrical pulse (e.g. a current pulse) referred to as a reset pulse. While not wishing to be bound by theory, it is believed that application of a reset pulse to the volume of material is sufficient to change at least a portion of the volume of memory material from a more-ordered crystalline state to a less-ordered amorphous state. It is conceivable that other forms of energy, such as optical energy, acoustical energy or thermal energy, may be used to change the state of the volume of material.
A phase-material material may be used to form a phase-change memory. Typically, a phase-change memory is arranged as an array of phase-change cells having rows and columns with associated word lines and bit lines, respectively. Each memory cell consists of a memory element which may be connected in series to an access device (also referred to as an isolation device). Examples of access devices include diodes, transistors and chalcogenide-based threshold switches. For use to connect logic it is possible that such access devices may be connected to the lines to be coupled (for example at the end of the lines). Each memory cell is coupled between the respective word line (also referred to as a row line or an X line) and the respective bit line (also referred to as a column line or a Y line).
The memory cells can be selected for a reading operation, for example, by applying suitable voltages to the respective word lines and suitable current or voltage pulses to the respective bit lines. A voltage reached at the bit line depends on the resistance of the storage element (which corresponds to logic value stored in the selected memory cell).
For general memory use, either commodity or embedded, the logic value stored in the memory cell may be evaluated by sense amplifiers of the memory. Typically, a sense amplifier includes a comparator receiving the bit line voltage (or a related voltage) and a suitable reference voltage. As an example, if the bit line driven by a read current achieves a voltage that is higher than the reference voltage for having higher resistance than the lower resistance case, the bit may be decreed to correspond to a stored logic value “0”, whereas if the bit line voltage is smaller than the reference voltage for the cell having lower resistance, then the bit may be decreed to correspond to the stored logic value “1”.
Products, such as programmable logic devices, achieve random logic designs by providing standard logic interconnected to user specifications through an X-Y grid. This X-Y grid is conceptually similar to the X-Y grid of a memory array and consists of X lines (corresponding, for example, to row or word lines) and a plurality of Y lines (corresponding, for example, to column or bit lines). The X lines typically cross (either over or under) the Y lines. The point at which an X line crosses (either over or under) a Y line may be referred to as a cross-over point or a cross-point.
Preferably, the X lines are oriented in a first direction while the Y lines are oriented in a second direction different from the first direction. The X lines may be substantially perpendicular to the Y lines. The X lines are typically physically spaced apart from the Y lines. The X lines are preferably insulated from the Y lines, however, it is possible that the X lines be connected to the Y lines such as through a shorting contact. When interconnecting logic instead of memory elements of a memory array, the X-Y grid may be more random in spacing and irregular in length than the X-Y grid of the memory array.
In a memory array, the impedance between the X lines and the Y lines is preferably very high, like an open circuit, until the select device (also referred to as an isolation device) is enabled, such as by row selection. Such selection may entail lowering or raising the X line. The isolation devices may be configured such that selecting a particular X line may lower the impedance between a memory element and a corresponding Y line, or between a memory element and a fixed voltage such as ground.
In contrast, the X-Y grid of conducting lines used for interconnecting logic (such as in a programmable logic array) may have a relatively linear resistance between the lines (instead of a piecewise linear resistance which may exist in a memory array). That is, for a logic device such as a programmable logic array, an OPEN connection between an X line and a Y line may be represented by a resistance which is relatively high where an actual open circuit is intended. Likewise, a CLOSED connection between an X line and a Y line may be represented by a resistance which is relatively low where an actual short circuit is intended.
The appropriate programmable connections between the X lines and Y lines at the cross-points may be programmed in different ways. One type of programming technology used to selectively determine connections is mask programming. This is done by the semiconductor manufacturer during the chip fabrication process. Examples of mask programmable devices include mask programmable gate arrays, mask programmable logic arrays and mask programmable ROMs. In the case of mask programming, a CLOSED connection may be an actual short circuit between an X line and a Y line at a cross-point while an OPEN connection may be an actual open circuit. This approach is characterized by good layout efficiency and performance, but higher tooling costs and time delay to first article product since custom masks and layout are used for each different customer product.
In contrast to mask programmable devices, field programmable devices are programmed after they are manufactured. Examples of field programmable devices include programmable ROM (PROM), electrically erasable ROM (EEPROM), field programmable logic arrays (FPLA), the programmable array logic device (PAL®), the complex programmable logic device (CPLD), and the field-programmable gate array (FPGA).
Field programmable devices make use of programmable connections at the cross-points of the X lines and the Y lines that can be programmed after the time of manufacture, and such programming may be done by the manufacturer to customer specification, or by the OEM upon receipt, or by the end customer in the field, and even updated periodically such as through an internet download. Such programmable connections may also be referred to as cross-point switches.
For field programmable devices such as field programmable logic arrays, the programmable connections may be made so that a relatively high resistance between the lines represents an OPEN connection between the lines while a relatively low resistance represents a CLOSED connection between the lines. Products with lower resistance for CLOSED connections may be faster with improved voltage margin, especially if the capacitance of the programmable connection tied to the interconnect lines is low. Programmable connections having a higher resistance for OPEN connections may have lower leakage and better voltage margin (those connections intended to be OPEN connections may have a larger voltage difference across the lines).
The power drained off by the cross-points intended to be OPEN is a larger problem in larger logic arrays with more X-Y interconnects, and hence more cross-points. Hence, for non-mask programmed field programmable devices, whether tying together logic or other electronic functions, there is a need for a programmable connection that can provide a relatively low resistance in CLOSED connections and a relatively high resistance in OPEN connections. Preferably, the programmable connection shall also add little capacitance to the interconnected conductive lines and change the wafer fabrication process as little as possible.
A programmable connection for a field programmable device (such as a field programmable logic array-FPLA) may be a volatile or non-volatile connection (the difference being whether the device needs to be re-programmed each time power is restored). For example, when a computer is turned off, the logic pattern desired in the field programmable logic chips may be stored in hard disc. Upon power-on restart, the logic interconnect pattern may be reloaded into the logic gates, at the expense of delayed restart. Such a volatile approach, may store the state of the programmable connection at each cross-point node on a static RAM (SRAM) driving an n-channel cross point transistor, as shown in FIG. 1.
FIG. 1 shows an example of a programmable connection that uses an SRAM to drive the gate of an n-channel transistor at the cross-point of an X line X1 and a Y line Y1. The p-channel pull-up transistors T2 and T4, provide a high logic level near the power supply, and the n-channel pull-down transistors T6 and T8, provide a pull-down to the lower power supply, in the usual CMOS fashion. Here, they are also cross coupled into an SRAM so that node N2 or node N4 may be high and the other low. Line PX may select the SRAM through transistor T12 so that data may be written on line PY (where the data may be furnished by a processor). Output node N2 drives the gate of transistor T10, making it conductive when the gate is high or non-conductive when the gate is driven (by programming the SRAM) to a low or off state. The transistor T10 is coupled between the Y conductive line and the X conductive line.
The programmable connection may be characterized by its worst case capacitance and resistance over the voltage and temperature range of the lines interconnected, a lower resistance when “on” providing less delay and better voltage margin. A higher resistance when “off” provides lower leakage and battery drain, as well as improved voltage margin by reducing line and driver voltage drop from leakage.
In the SRAM type programmable connection example shown in FIG. 1, the source to drain “on” resistance is lower for voltages on the coupled X and Y lines coupled that are less than the power supply to which the gate is driven, since the resistance from source to drain of the n-channel transistor tends to increase when the source or drain voltages approach the gate voltage. Accordingly, in some versions of greater complexity, the n-channel transistor T10 may have a special low threshold voltage Vt or may be in parallel with a p-channel with gate driven by node N4. This full mux approach provides lower resistance but at the expense of greater capacitance and increased chip area for each matrix switch.
As a further example, to make such an approach non-volatile, the SRAM in FIG. 1 may be replaced by an EPROM, EEPROM, or Flash transistor properly loaded to drive the n-channel transistor T10, or the SRAM may be mirrored with non-volatile memory such as FeRAM. Programming the non-volatile memory may be accomplished with a special higher voltage or current for the non-volatile element. However, such an approach increases process complexity.
Further, both the SRAM or the non-volatile alternative require considerable area in the base silicon to implement the switch, since the cross-point transistor alone may take up considerable area that could otherwise be dedicated to logic and interconnect. Further, considerable extra interconnect is necessary to X-Y select the SRAM or its non-volatile equivalent, such as PX and PY wires at each intersection to uniquely select the SRAM cross-point transistor driver or non-volatile programming element as shown in FIG. 1. Extra interconnect similarly may require extra chip area or interconnect layers that may raise cost and complexity of the delivered product.
The programmable connections in field programmable devices such as FPLAs may be formed as non-volatile anti-fuses at the X-Y interconnect. Products using anti-fuses (for example FPLAs from Actel, Inc.), desirably reduce the chip area and layers dedicated to programming the programmable connection, by reducing the semiconductor active devices and interconnect (e.g. PX and PY) at each switch. This may also free up base silicon by putting the cross-point as a thin-film layer between interconnect layers. FIG. 2 shows an anti-fuse 10 coupled between an X line X1 and a Y line Y1. The anti-fuse 10 acts as an OPEN connection before it is programmed. The anti-fuse may be implemented using an insulative breakdown material that is broken down to provide a conductive pathway through application of a sufficiently high voltage across the material. The anti-fuse may be a metal-metal anti-fuse. Once programmed to a lower resistance state, an anti-fuse cannot be readily reversed. Accordingly, testing in the field may be difficult and reversing a programmed anti-fuse may not be possible.
Manufacturers of equipment may find an error in FPLA operation after programming at the factory and shipment to the customer that could be fixed if the programming is reversible, perhaps allowing correction through remote dial-up and download to re-program the logic if the cross-point programming is reversible. Or, the chip may be removed in the field and re-programmed by plugging into an adaptor to a computer.
However, while such an option is possible with SRAM or its non-volatile equivalent, such an option may not be possible with a fuse-based or anti-fuse based approach. Instead, the part may instead be removed and replaced at considerable expense to the manufacturer and inconvenience to the customer.
Further, due to the testing limitations of using irreversible links, testing of the arrays intended for use by the customer may be done only indirectly by programming spare but representative anti-fuses on a fuse or anti-fuse based interconnect approach before a part is shipped. However, actual programming of (untested) links used by the customer may be unsuccessful, since the links or cross-points actually used may be defective since they are untested before being shipped or used. Programmable connections found unprogrammable may require return of the unit to the factory or even replacement in the final equipment if personalization is done after assembly.
Each of these discards may be at successively higher cost and require an undesirable manufacturing and field use flow which is incompatible with a more preferred zero-defect manufacturing and use. To better improve “yield” and reduce defects in the field, the size and complexity of irreversible fuse or anti-fuse based approaches may be limited to relatively small arrays of interconnect compared to the more testable SRAM based approaches.
Further, the non-SRAM based approaches may add processing steps, beyond those of making the logic to be interconnected, that excessively raise cost. Customer preferences for lower cost suggest that such additional processing steps are preferably offset by reduced chip size, processing steps, and reduced test cost relative to SRAM, since SRAM may take up more chip area but does not add extra process steps.
Accordingly, there is a need for a testable field programmable matrix array using a non-volatile programmable connection that is reversible in the field.